home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 25 / AMIGAplus Sonderheft 25 (2000)(Falke)(DE)(Track 1 of 4)[!].iso / Tools / SFX-Player / Mpeg / MrMPEG / DropInsert.rexx < prev    next >
OS/2 REXX Batch file  |  2000-05-08  |  2KB  |  58 lines

  1. /* DropInsert.rexx */
  2.  
  3. options results; address MrMPEG; parse arg temp_list
  4.  
  5. MUIA_List_Active    = 0x8042391c;    MUIA_List_Entries    = 0x80421654
  6. MUIA_ShowMe        = 0x80429ba8;    MUIV_List_Active_Top    = -2
  7.  
  8. list ID SLIST ATTRS MUIA_List_Entries; entries = result
  9. if temp_list ~= "" then do
  10.   do forever
  11.     parse var temp_list first ',' temp_list
  12.     if first == '' then leave
  13.     if exists(first) then do
  14.       popasl ID PATH; pathname = result
  15.       temp_name = TmpFile('PIPE:MPEG_Temp.')
  16.       address command pathname'MPEGA -h' first '>'temp_name
  17.       if open('Output', temp_name, 'r') = 1 then do    /* Check if it can read song info or not */
  18.         null = readln('Output')
  19.         null = readln('Output')
  20.         null = readln('Output')
  21.         null = readln('Output')
  22.         info = readln('Output')
  23.         length = readln('Output')
  24.         call close('Output')
  25.         if left(info, 13) =  '   File Type:' then do
  26.           parse var info dummy':' ''detail''
  27.           parse var length dummy':' ''temp_total_time''
  28.           list ID SLIST ATTRS MUIA_List_Active
  29.           if entries = 0 then result = result + 1
  30.           list ID SLIST INSERT NODUP POS result,
  31.             STRING first","temp_total_time","strip(detail)
  32.         end /* of if info */
  33.         else request ID WARN GADGETS '"OK"' '"Corrpted MPEG file."'
  34.       end /* of if open */
  35.       else request ID WARN GADGETS '"OK"' '"Could not open a pipe."'
  36.     end /* of if exists */
  37.     else do
  38.       temp_string = "Could not open the file '"first"'."
  39.       request ID WARN GADGETS '"OK"' temp_string
  40.     end
  41.   end /* of do forever */
  42.   list ID SLIST ATTRS MUIA_List_Entries; temp_max = result
  43.   setvar max temp_max
  44.   text ID MAX LABEL "\033b\033r"right(temp_max, 3)
  45.   temp_total_time = 0
  46.   do i = 0 to temp_max - 1
  47.     list ID SLIST POS i
  48.     parse var result dummy','temp_song_time','dummy2
  49.     temp_total_time = temp_total_time + left(temp_song_time, 2) * 60 + right(temp_song_time, 2)
  50.   end
  51.   temp_string = right(temp_total_time % 3600, 2, 0)||":"||,
  52.       right(temp_total_time // 3600 % 60, 2, 0)":"right(temp_total_time // 60, 2, 0)
  53.   setvar total_time temp_string
  54.   text ID TOTAL LABEL "\033b\033r"temp_string
  55.   if entries = 0 then list ID SLIST ATTRS MUIA_List_Active MUIV_List_Active_Top
  56. end /* of if temp_list */
  57. return
  58.